#include<stdio.h>
#include<stdlib.h>
using namespace std;
void sort(int a[],int n){//冒泡排序
    for(int i=0;i<n-1;i++)
        for(int j=0;j<n-1-i;j++)//n-[(i-1)个已经有序的元素],因为传进来i说明前i-1个元素已经有序了
            if(a[j]>a[j+1]){
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
}
void fun(){
    int n;
    scanf("%d",&n);
    int a[4],max,min;
    while(n!=6174){
        int k=0;
        while(n){//拆分
            a[k++]=n%10;
            n=n/10;
        }
        sort(a,4);//数字升序排列
        int max=0,min=0;
        for(int i=0;i<4;i++){//求最大数和最小数
            max=max*10+a[3-i];
            min=min*10+a[i];
        }
        n=max-min;
        printf("%d-%d=%d\n",max,min,n);
    }
}
int main(){
    fun();
    return 0;
}